home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 30 / PC Gamer IT CD 30 1-2.iso / MOTS / GAMEDATA / RESOURCE / JKMRES.GOO / cog_pow_power_m.cog < prev    next >
Text File  |  1998-02-25  |  2KB  |  94 lines

  1. # Jedi Knight Cog Script
  2. #
  3. # POW_POWER.COG
  4. #
  5. # POWERUP Script - Power Cell
  6. #
  7. # [YB, CYW, SRS]
  8. #
  9. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  10.  
  11.  
  12. symbols
  13.  
  14. thing       powerup                          local
  15. thing       player                           local
  16. thing       sender                           local
  17.  
  18. int         bin=12                           local
  19. sound       pickupsnd=powerpu1.wav           local
  20. sound       respawnsnd=Activate01.wav        local
  21. flex        amount                           local
  22.  
  23. int         bin_contents=0                   local
  24. int         autoselect_weapon=-1             local
  25.  
  26. message     touched
  27. message     taken
  28. message     respawn
  29.  
  30. end
  31.  
  32. # ========================================================================================
  33.  
  34. code
  35.  
  36. touched:
  37.    player = GetSourceRef();
  38.  
  39.    if (GetThingType(player) != 10) Return;
  40.  
  41.    if (GetInv(player, bin) < GetInvMax(player, bin))
  42.    {
  43.       TakeItem(GetSenderRef(), -1);
  44.       call taken;
  45.    }
  46.  
  47.    Return;
  48.  
  49. # ........................................................................................
  50.  
  51. taken:
  52.    player = GetSourceRef();
  53.    powerup = GetSenderRef();
  54.  
  55.    // Print("Power Cells");
  56.    jkPrintUNIString(player, bin);
  57.  
  58.    // Do effects.
  59.    PlaySoundLocal(pickupsnd, 1, 0, 0);
  60.    AddDynamicTint(player, 0.0, 0.0, 0.2);
  61.  
  62.    // store the old bin contents
  63.    bin_contents = GetInv(player, bin);
  64.  
  65.    // Increment powerup amount.
  66.    ChangeInv(player, bin, 25.0);
  67.  
  68.    // Check for Auto Reload
  69.    if(GetAutoReload() & 1)
  70.    {
  71.       if(!bin_contents)
  72.       {
  73.          if(!((GetAutoReload() & 2) && (GetWeaponBin(GetCurWeapon(player)) == jkGetMultiParam(1))))
  74.          {
  75.             // Try to autoselect and see if the best weapon is a power cell weapon
  76.             autoselect_weapon = AutoSelectWeapon(player, 2);
  77.             if((autoselect_weapon == 15) || (autoselect_weapon == 6) || (autoselect_weapon == 9))
  78.                SelectWeapon(player, GetWeaponBin(autoselect_weapon));
  79.          }
  80.       }
  81.    }
  82.  
  83.    Return;
  84.  
  85. # ........................................................................................
  86.  
  87. respawn:
  88.    PlaySoundThingLocal(respawnsnd, GetSenderRef(), 0.6, 5.0, 10.0, 0);
  89.  
  90.    return;
  91.  
  92. end
  93.  
  94.